// 单个列表页面基类
module.exports = Behavior({
  properties: {},
  data: {
    /**是否正在加载数据 */
    loading: false,
    /**当前页码 */
    current_page: 0,
    /**总页码 */
    pages: 1,
    /**后台列表接口地址 */
    reqUrl: '/home/supplier/buy/items',
    /**筛选请求参数 */
    reqData: {
      size: 15
    },
    /**列表数据 */
    itemArr: [],
    finished: false
  },
  created: function () {},
  attached: function () {},
  ready: function () {},

  methods: {
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
      //console.log("触底");
      this.req_items()
    },
    /**下拉刷新 */
    onPullDownRefresh() {
      //console.log("下拉刷新");
      this.data.current_page = 0;
      this.setData({
        itemArr: []
      })
      this.req_items()
    },
    /**
     * 请求后台列表数据
     */
    req_items() {
      let data = this.data;
      if (data.finished && data.current_page > 0) {
        return;
      }
      let page = data.reqData.current = (data.current_page * 1) + 1;
      this.setData({
        loading: true
      })
      this.request({
        // url: this.data.host + data.reqUrl,
        url: this.data.host + data.reqUrl,
        data: data.reqData
      }, res => {

        this.get_items_ok(page, res);
      }, null, res => {
        this.setData({
          loading: false,
          finished: this.data.finished
        })
      })
    },

    /**
     * 获得列表数据
     * page 请求的页码
     * res 列表数据
     */
    get_items_ok(page, res) {
      //console.log("get_items_ok", res);
      res.data.records.map((res, index, arr) => {
        this.init_val(res, index, arr)
      })
      let itemArr = this.data.itemArr;
      page == 1 ? itemArr = res.data.records : itemArr = itemArr.concat(res.data.records);
      this.setData({
        itemArr,
        current_page: page
      });
      if (!res.data.records || !res.data.records.length) {
        this.data.finished = true;
      } else {
        this.data.finished = false;
      }
      wx.stopPullDownRefresh({
        success: (res) => {},
      });

    },

    /**格式化列表中的数据 */
    init_val(val, index, arr) {

    },

  }
})